#================================================================
# Setting Variables
#================================================================


SHELL = @SHELL@

# Package information
PACKAGE = @PACKAGE_NAME@
VERSION = @PACKAGE_VERSION@
LIBVER = @MYLIBVER@
LIBREV = @MYLIBREV@
FORMATVER = @MYFORMATVER@

# Targets
LIBRARYFILES = @MYLIBRARYFILES@


# Install destinations
prefix = @prefix@
exec_prefix = @exec_prefix@
LIBDIR = ${exec_prefix}/lib
DESTDIR =


# Directories
SRCDIR = ./src/cpp/

# Building configuration
CC = @CC@
CPPFLAGS = @MYCPPFLAGS@
CFLAGS = @MYCFLAGS@
LDFLAGS = @MYLDFLAGS@
LIBS = @LIBS@


#================================================================
# Actions
#================================================================

all: $(LIBRARYFILES) jejdb tests
	@printf '\n'
	@printf '#================================================================\n'
	@printf '# Ready to install.\n'
	@printf '#================================================================\n'

compile-native : $(LIBRARYFILES)

jejdb:
	ant build

tests:
	ant build.and.test

doc:
	ant build.doc

install:
	install -d $(DESTDIR)$(LIBDIR)
	cp -Rf $(LIBRARYFILES) $(DESTDIR)$(LIBDIR)
	chmod -R 755 $(DESTDIR)$(LIBDIR)
	@printf '\n'
	@printf '#================================================================\n'
	@printf '# Java Bindinig binaries installed to %s.\n' "$(DESTDIR)$(LIBDIR)"
	@printf '# Ensure that LD_LIBRARY_PATH environment variable contains "%s".\n' "$(DESTDIR)$(LIBDIR)"
	@printf '#================================================================\n'
	@printf '# Thanks for using Java Binding of Tokyo Cabinet EJDB edition.\n'
	@printf '#================================================================\n'


clean:
	rm -rf $(LIBRARYFILES)
	ant clean


#================================================================
# Building binaries
#================================================================


libjejdb.so.$(LIBVER).$(LIBREV).0 :
	$(CC) $(CPPFLAGS) $(CFLAGS) -shared $(LDFLAGS) -o $@ $(SRCDIR)jejdb.c  $(LIBS)

libjejdb.so.$(LIBVER) : libjejdb.so.$(LIBVER).$(LIBREV).0
	ln -f -s libjejdb.so.$(LIBVER).$(LIBREV).0 $@


libjejdb.so : libjejdb.so.$(LIBVER).$(LIBREV).0
	ln -f -s libjejdb.so.$(LIBVER).$(LIBREV).0 $@
